﻿// 通配符 WILDCARD.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

/*
https://algospot.com/judge/problem/read/WILDCARD

问题：

通配符是一种在各种操作系统中，通过文件名的部分内容来指定文件名的方法。通配符字符串类似于普通文件名，但包含特殊字符如 * 或 ?。

假设通配符字符串与文件名从前向后逐个字符进行比较，当所有字符都匹配时，该通配符字符串与文件名匹配。注意，通配符字符串中的 ? 与任意字符匹配，* 匹配零个或多个字符。

例如，通配符 he?p 可以与文件名 help 或 heap 匹配，但不能与 helpp 匹配。通配符 p 可以与文件名 help 或 papa 匹配，但不能与 hello 匹配。

给定一个通配符字符串和一组文件名，写一个程序找到与之匹配的文件名。

输入：
输入的第一行是测试用例的数量 C（1≤C≤10）。每个测试用例的第一行是通配符字符串 W，然后是文件名的数量 N（1≤N≤50）。接下来的 N 行，每行给出一个文件名。文件名只包含大小写字母和数字，没有空格。通配符字符串除了 * 和 ? 之外不包含其他特殊字符。所有字符串的长度在 1 到 100 之间。

输出：
对于每个测试用例，按照 ASCII 码顺序（数字、大写字母、小写字母的顺序）逐行输出与给定通配符匹配的文件名。

示例输入：
2
he?p
3
help
heap
helpp
p
3
help
papa
hello

示例输出：
heap
help
help
papa
*/
int main()
{
    std::cout << "Hello World!\n";
}

 